package gpschallenge.componentes.sorpresas;

import gpschallenge.componentes.obstaculos.Afectable;
import gpschallenge.componentes.utililidades.TipoDeAfectable;
import gpschallenge.componentes.utililidades.TipoDeVehiculo;
import gpschallenge.componentes.vehiculos.*;

public class CambioDeVehiculo extends Sorpresa implements Afectable {
	private TipoDeAfectable miTipo = TipoDeAfectable.CAMBIODEVEHICULO;

	public CambioDeVehiculo() {
	}

	public void afectarAuto(Vehiculo unVehiculo) {
		/* Realiza el cambio de estado al vehiculo. Pasa a ser una CuatroXCuatro */
		unVehiculo.setEstado(CuatroXCuatro.getInstancia());
		unVehiculo.setTipoDeVehiculo(TipoDeVehiculo.CUATROXCUATRO);
	}

	public void afectarCuatroXCuatro(Vehiculo unVehiculo) {
		/* Realiza el cambio de estado al vehiculo. Pasa a ser una moto */
		unVehiculo.setEstado(Moto.getInstancia());
		unVehiculo.setTipoDeVehiculo(TipoDeVehiculo.MOTO);
	}

	public void afectarMoto(Vehiculo unVehiculo) {
		/* Realiza el cambio de estado al vehiculo. Pasa a ser un auto */
		unVehiculo.setEstado(Auto.getInstancia());
		unVehiculo.setTipoDeVehiculo(TipoDeVehiculo.AUTO);
	}

	public TipoDeAfectable getTipoDeAfectable() {
		return miTipo;
	}
}
